FHIR © HL7.org  |  Server Home  |  FHIR Server FHIR Server 3.7.16  |  FHIR Version n/a  User: [n/a]

Resource PlanDefinition/FHIR Server from package smart.who.int.anc#current (78 ms)

Package smart.who.int.anc
Type PlanDefinition
Id Id
FHIR Version R4
Source http://smart.who.int/anc/https://build.fhir.org/ig/WorldHealthOrganization/smart-anc/PlanDefinition-ANCDT12.html
Url http://smart.who.int/anc/PlanDefinition/ANCDT12
Version 0.3.0
Status active
Date 2025-06-24T13:58:48-06:00
Name ANCDT12
Title ANC.DT.12 Urine testing
Experimental False
Realm uv
Authority who
Description Conditions in which urine testing is required

Resources that use this resource

No resources found


Resources that this resource uses

No resources found



Narrative

Note: links and images are rebased to the (stated) source

Id: ANCDT12
Url: ANC.DT.12 Urine testing
Version: 0.3.0
Official

ANC.DT.12

Title: ANC.DT.12 Urine testing
Type:

system: http://terminology.hl7.org/CodeSystem/plan-definition-type

code: eca-rule

Date: 2025-06-24 13:58:48-0600
Publisher: World Health Organization (WHO)
Description:

Conditions in which urine testing is required

Use Context:
code value
task
Jurisdiction: 001
Libraries:
ANC.DT.12 Urine testing
Actions:
ANC.DT.12 Urine testing:
When: Named Event: ANC.B9. Conduct laboratory tests and imaging
Then:
Urine test is required any time the woman reports pain during urination (dysuria)
If: Applicability: "Current physiological symptoms" = "Pain during urination (dysuria)" (Should Conduct urine test)
Given high values (SBP ≥ 140 or DBP ≥ 90) upon second measure, urine dipstick test should be done to check for protein in the urine, a symptom of pre-eclampsia
If: Applicability: ("Repeat systolic blood pressure" ≥ 140 mmHg) OR ("Repeat diastolic blood pressure" ≥ 90mmHg) (Should Do urine dipstick test for protein)
The urine test checks for bacterial or other infections that can lead to adverse outcomes for the neonate. The urine dipstick test can check for proteins in the urine, which can be a sign of pre-eclampsia. Midstream urine culture is the preferred method for testing for asymptomatic bacteriuria (ASB) in pregnancy; if culture is not available, midstream urine Gram-staining is recommended over dipstick. Urine dipstick tests should only be used to diagnose ASB in pregnancy if midstream culture and Gram-staining are not possible. Dipstick tests are required to check for protein in the urine, a symptom of pre-eclampsia.
If: Applicability: (("ANC contact number" = 1) OR ("Gestational age" ≥ 26 weeks)) OR ("Gestational age" ≥ 34 weeks) (Should Conduct urine test 2)

Source

{
  "resourceType" : "PlanDefinition",
  "id" : "ANCDT12",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">ANCDT12</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"PlanDefinition-ANCDT12.html\">ANC.DT.12 Urine testing</a></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.3.0</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\">\n <b>\n \n Official\n \n </b>\n </th>\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>ANC.DT.12</span>\n </p>\n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">ANC.DT.12 Urine testing</td>\n </tr>\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/6.4.0/CodeSystem-plan-definition-type.html\">http://terminology.hl7.org/CodeSystem/plan-definition-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>eca-rule</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2025-06-24 13:58:48-0600</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">World Health Organization (WHO)</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>Conditions in which urine testing is required</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Use Context: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>code</b></th>\n <th><b>value</b></th>\n </tr>\n \n <tr>\n <td>task</td>\n <td/>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Jurisdiction: </b></th>\n <td style=\"padding-left: 4px;\">001</td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Libraries: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td><a href=\"Library-ANCDT12.html\">ANC.DT.12 Urine testing</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Actions: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td>\n \n <b> ANC.DT.12 Urine testing:</b> \n \n <br/>\n \n <b>When:</b>\n \n <i>Named Event:</i> ANC.B9. Conduct laboratory tests and imaging\n <br/>\n \n \n \n \n <b>Then:</b>\n <table class=\"grid-dict\">\n \n <tr>\n <td>\n \n Urine test is required any time the woman reports pain during urination (dysuria)\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n &quot;Current physiological symptoms&quot; = &quot;Pain during urination (dysuria)&quot;\n \n <i>(Should Conduct urine test)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n Given high values (SBP ≥ 140 or DBP ≥ 90) upon second measure, urine dipstick test should be done to check for protein in the urine, a symptom of pre-eclampsia\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n (&quot;Repeat systolic blood pressure&quot; ≥ 140 mmHg)\n OR (&quot;Repeat diastolic blood pressure&quot; ≥ 90mmHg)\n \n <i>(Should Do urine dipstick test for protein)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n The urine test checks for bacterial or other infections that can lead to adverse outcomes for the neonate. The urine dipstick test can check for proteins in the urine, which can be a sign of pre-eclampsia. Midstream urine culture is the preferred method for testing for asymptomatic bacteriuria (ASB) in pregnancy; if culture is not available, midstream urine Gram-staining is recommended over dipstick.\n\nUrine dipstick tests should only be used to diagnose ASB in pregnancy if midstream culture and Gram-staining are not possible. Dipstick tests are required to check for protein in the urine, a symptom of pre-eclampsia.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n ((&quot;ANC contact number&quot; = 1)\n OR (&quot;Gestational age&quot; ≥ 26 weeks))\n OR (&quot;Gestational age&quot; ≥ 34 weeks)\n \n <i>(Should Conduct urine test 2)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n </table>\n \n </td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n </table>\n</div>\n</div>"
  },
  "contained" : [
    {
      "resourceType" : "Library",
      "id" : "effective-data-requirements",
      "name" : "EffectiveDataRequirements",
      "status" : "active",
      "type" : {
        "coding" : [
          {
            "system" : "http://terminology.hl7.org/CodeSystem/library-type",
            "code" : "module-definition"
          }
        ]
      },
      "relatedArtifact" : [
        {
          "type" : "depends-on",
          "display" : "Library FHIRHelpers",
          "resource" : "http://smart.who.int/anc/Library/FHIRHelpers|4.0.1"
        },
        {
          "type" : "depends-on",
          "display" : "Library ContactData",
          "resource" : "http://smart.who.int/anc/Library/ANCContactDataElements"
        },
        {
          "type" : "depends-on",
          "display" : "Library WC",
          "resource" : "http://smart.who.int/anc/Library/WHOCommon"
        },
        {
          "type" : "depends-on",
          "display" : "Library Cx",
          "resource" : "http://smart.who.int/anc/Library/ANCConcepts"
        },
        {
          "type" : "depends-on",
          "display" : "Library AC",
          "resource" : "http://smart.who.int/anc/Library/ANCCommon"
        },
        {
          "type" : "depends-on",
          "display" : "Value set Repeat systolic blood pressure",
          "resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de20"
        },
        {
          "type" : "depends-on",
          "display" : "Value set Repeat diastolic blood pressure",
          "resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de21"
        },
        {
          "type" : "depends-on",
          "display" : "Value set Gestational age",
          "resource" : "http://smart.who.int/anc/ValueSet/anc-b6-de17"
        }
      ],
      "parameter" : [
        {
          "name" : "encounter",
          "use" : "in",
          "min" : 0,
          "max" : "1",
          "type" : "string"
        },
        {
          "name" : "Should Do urine dipstick test for protein",
          "use" : "out",
          "min" : 0,
          "max" : "1",
          "type" : "boolean"
        },
        {
          "name" : "Should Conduct urine test 2",
          "use" : "out",
          "min" : 0,
          "max" : "1",
          "type" : "boolean"
        }
      ],
      "dataRequirement" : [
        {
          "type" : "Observation",
          "profile" : [
            "http://hl7.org/fhir/StructureDefinition/Observation"
          ],
          "mustSupport" : [
            "code",
            "status",
            "encounter",
            "encounter.reference"
          ],
          "codeFilter" : [
            {
              "path" : "code",
              "valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de20"
            }
          ]
        },
        {
          "type" : "Observation",
          "profile" : [
            "http://hl7.org/fhir/StructureDefinition/Observation"
          ],
          "mustSupport" : [
            "code",
            "status",
            "encounter",
            "encounter.reference"
          ],
          "codeFilter" : [
            {
              "path" : "code",
              "valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de21"
            }
          ]
        },
        {
          "type" : "Observation",
          "profile" : [
            "http://hl7.org/fhir/StructureDefinition/Observation"
          ],
          "mustSupport" : [
            "code",
            "status",
            "encounter",
            "encounter.reference"
          ],
          "codeFilter" : [
            {
              "path" : "code",
              "valueSet" : "http://smart.who.int/anc/ValueSet/anc-b6-de17"
            }
          ]
        },
        {
          "type" : "Encounter",
          "profile" : [
            "http://hl7.org/fhir/StructureDefinition/Encounter"
          ],
          "mustSupport" : [
            "id"
          ]
        }
      ]
    }
  ],
  "extension" : [
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCContactDataElements"
        },
        {
          "url" : "name",
          "valueString" : "Repeat systolic blood pressure"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n @dataElement: ANC.B8.DE20 Repeat systolic blood pressure\n @activity: ANC.B8 Physical exam\n @description: Repeat measurement of the woman's systolic blood pressure in mmHg after 10–15 minutes rest\n*/\ndefine \"Repeat systolic blood pressure\":\n WC.MostRecent(\n [Observation: Cx.\"Repeat systolic blood pressure\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 0
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCContactDataElements"
        },
        {
          "url" : "name",
          "valueString" : "Repeat diastolic blood pressure"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n @dataElement: ANC.B8.DE21 Repeat diastolic blood pressure\n @activity: ANC.B8 Physical exam\n @description: Repeat measurement of the woman's diastolic blood pressure in mmHg after 10–15 minutes rest\n*/\ndefine \"Repeat diastolic blood pressure\":\n WC.MostRecent(\n [Observation: Cx.\"Repeat diastolic blood pressure\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 1
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCDT12"
        },
        {
          "url" : "name",
          "valueString" : "Should Do urine dipstick test for protein"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n(\"Repeat systolic blood pressure\" ≥ 140 mmHg)\n OR (\"Repeat diastolic blood pressure\" ≥ 90mmHg)\n*/\ndefine \"Should Do urine dipstick test for protein\":\n ContactData.\"Repeat systolic blood pressure\" >= 140 'mm[Hg]'\n or ContactData.\"Repeat diastolic blood pressure\" >= 90 'mm[Hg]'"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 2
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCContactDataElements"
        },
        {
          "url" : "name",
          "valueString" : "ANC contact number"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n @dataElement: ANC.A.DE12 ANC contact number\n @activity: ANC.A4 Gather client details\n @description: The ANC contact or visit number – recommended minimum is 8 contacts\n*/\ndefine \"ANC contact number\":\n AC.Extension(WC.Only(\n [Encounter] E\n where E.id = Last(Split(encounter, '/'))\n ), 'contactNumber').value as integer"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 3
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCContactDataElements"
        },
        {
          "url" : "name",
          "valueString" : "Gestational age"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n @dataElement: ANC.B6.DE17 Gestational age\n @activity: ANC.B6 Profile\n @description: Gestational age in weeks and/or days depending on the source of gestational age\n*/\ndefine \"Gestational age\":\n WC.MostRecent(\n [Observation: Cx.\"Gestational age\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 4
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCDT12"
        },
        {
          "url" : "name",
          "valueString" : "Should Conduct urine test 2"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n((\"ANC contact number\" = 1)\n OR (\"Gestational age\" ≥ 26 weeks))\n OR (\"Gestational age\" ≥ 34 weeks)\n*/\ndefine \"Should Conduct urine test 2\":\n ContactData.\"ANC contact number\" = 1\n or ContactData.\"Gestational age\" >= 26 'weeks'\n or ContactData.\"Gestational age\" >= 34 'weeks'"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 5
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "FHIRHelpers"
        },
        {
          "url" : "name",
          "valueString" : "ToQuantity"
        },
        {
          "url" : "statement",
          "valueString" : "define function ToQuantity(quantity FHIR.Quantity):\n case\n when quantity is null then null\n when quantity.value is null then null\n when quantity.comparator is not null then\n Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\n when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\n or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\n System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\n else\n Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\n end"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 6
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "FHIRHelpers"
        },
        {
          "url" : "name",
          "valueString" : "ToCalendarUnit"
        },
        {
          "url" : "statement",
          "valueString" : "define function ToCalendarUnit(unit System.String):\n case unit\n when 'ms' then 'millisecond'\n when 's' then 'second'\n when 'min' then 'minute'\n when 'h' then 'hour'\n when 'd' then 'day'\n when 'wk' then 'week'\n when 'mo' then 'month'\n when 'a' then 'year'\n else unit\n end"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 7
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "WHOCommon"
        },
        {
          "url" : "name",
          "valueString" : "MostRecent"
        },
        {
          "url" : "statement",
          "valueString" : "define function MostRecent(observations List<Observation>):\n Last(\n observations O\n sort by issued\n )"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 8
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "FHIRHelpers"
        },
        {
          "url" : "name",
          "valueString" : "ToString"
        },
        {
          "url" : "statement",
          "valueString" : "define function ToString(value ObservationStatus): value.value"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 9
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "FHIRHelpers"
        },
        {
          "url" : "name",
          "valueString" : "ToBoolean"
        },
        {
          "url" : "statement",
          "valueString" : "define function ToBoolean(value boolean): value.value"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 10
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "WHOCommon"
        },
        {
          "url" : "name",
          "valueString" : "ModifierExtension"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n@description: Returns the single WHO core modifier extension (if present) on the given resource with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\ndefine function ModifierExtension(domainResource DomainResource, id String):\n singleton from ModifierExtensions(domainResource, id)"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 11
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "WHOCommon"
        },
        {
          "url" : "name",
          "valueString" : "ModifierExtensions"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n@description: Returns any WHO core modifier extensions defined on the given resource with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function ModifierExtensions(domainResource DomainResource, id String):\n domainResource.modifierExtension E\n\t where E.url = ('http://fhir.org/guides/who/core/StructureDefinition/' + id)\n\t\treturn E"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 12
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "FHIRHelpers"
        },
        {
          "url" : "name",
          "valueString" : "ToString"
        },
        {
          "url" : "statement",
          "valueString" : "define function ToString(value uri): value.value"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 13
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "FHIRHelpers"
        },
        {
          "url" : "name",
          "valueString" : "ToString"
        },
        {
          "url" : "statement",
          "valueString" : "define function ToString(value string): value.value"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 14
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "FHIRHelpers"
        },
        {
          "url" : "name",
          "valueString" : "ToInteger"
        },
        {
          "url" : "statement",
          "valueString" : "define function ToInteger(value integer): value.value"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 15
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCCommon"
        },
        {
          "url" : "name",
          "valueString" : "Extension"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n@description: Returns the single ANC extension (if present) on the given resource with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified id.\n*/\ndefine function Extension(domainResource DomainResource, id String):\n singleton from \"Extensions\"(domainResource, id)"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 16
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "ANCCommon"
        },
        {
          "url" : "name",
          "valueString" : "Extensions"
        },
        {
          "url" : "statement",
          "valueString" : "/*\n@description: Returns any ANC extensions defined on the given resource with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function Extensions(domainResource DomainResource, id String):\n domainResource.extension E\n\t where E.url = ('http://smart.who.int/anc/StructureDefinition/' + id)\n\t\treturn E"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 17
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [
        {
          "url" : "libraryName",
          "valueString" : "WHOCommon"
        },
        {
          "url" : "name",
          "valueString" : "Only"
        },
        {
          "url" : "statement",
          "valueString" : "define function Only(encounters List<Encounter>):\n singleton from encounters"
        },
        {
          "url" : "displaySequence",
          "valueInteger" : 18
        }
      ],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "id" : "effective-data-requirements",
      "url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
      "valueCanonical" : "#effective-data-requirements"
    },
    {
      "url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
      "valueReference" : {
        "reference" : "Device/cqf-tooling"
      }
    }
  ],
  "url" : "http://smart.who.int/anc/PlanDefinition/ANCDT12",
  "identifier" : [
    {
      "use" : "official",
      "value" : "ANC.DT.12"
    }
  ],
  "version" : "0.3.0",
  "name" : "ANCDT12",
  "title" : "ANC.DT.12 Urine testing",
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
        "code" : "eca-rule"
      }
    ]
  },
  "status" : "active",
  "experimental" : false,
  "date" : "2025-06-24T13:58:48-06:00",
  "publisher" : "World Health Organization (WHO)",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://www.who.int"
        }
      ]
    }
  ],
  "description" : "Conditions in which urine testing is required",
  "useContext" : [
    {
      "code" : {
        "system" : "http://terminology.hl7.org/CodeSystem/usage-context-type",
        "code" : "task",
        "display" : "Workflow Task"
      },
      "valueCodeableConcept" : {
        "coding" : [
          {
            "system" : "http://smart.who.int/anc/CodeSystem/activity-codes",
            "code" : "ANC.B9.",
            "display" : "Conduct laboratory tests and imaging"
          }
        ]
      }
    }
  ],
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001"
        }
      ]
    }
  ],
  "library" : [
    "http://smart.who.int/anc/Library/ANCDT12"
  ],
  "action" : [
    {
      "title" : "ANC.DT.12 Urine testing",
      "trigger" : [
        {
          "type" : "named-event",
          "name" : "ANC.B9. Conduct laboratory tests and imaging"
        }
      ],
      "action" : [
        {
          "id" : "1",
          "title" : "Conduct urine test",
          "description" : "Conduct urine test",
          "textEquivalent" : "Urine test is required any time the woman reports pain during urination (dysuria)",
          "documentation" : [
            {
              "type" : "citation",
              "label" : "Managing complications guide (IMPAC) (2017): Section S-51 (3)"
            }
          ],
          "condition" : [
            {
              "kind" : "applicability",
              "expression" : {
                "description" : "\"Current physiological symptoms\" = \"Pain during urination (dysuria)\"",
                "language" : "text/cql-identifier",
                "expression" : "Should Conduct urine test"
              }
            }
          ]
        },
        {
          "id" : "2",
          "title" : "Do urine dipstick test for protein",
          "description" : "Do urine dipstick test for protein",
          "textEquivalent" : "Given high values (SBP ≥ 140 or DBP ≥ 90) upon second measure, urine dipstick test should be done to check for protein in the urine, a symptom of pre-eclampsia",
          "documentation" : [
            {
              "type" : "citation",
              "label" : "Managing complications guide (IMPAC) (2017): Section S-51 (3)"
            }
          ],
          "condition" : [
            {
              "kind" : "applicability",
              "expression" : {
                "description" : "(\"Repeat systolic blood pressure\" ≥ 140 mmHg)\n OR (\"Repeat diastolic blood pressure\" ≥ 90mmHg)",
                "language" : "text/cql-identifier",
                "expression" : "Should Do urine dipstick test for protein"
              }
            }
          ]
        },
        {
          "id" : "3",
          "title" : "Conduct urine test",
          "description" : "Conduct urine test 2",
          "textEquivalent" : "The urine test checks for bacterial or other infections that can lead to adverse outcomes for the neonate. The urine dipstick test can check for proteins in the urine, which can be a sign of pre-eclampsia. Midstream urine culture is the preferred method for testing for asymptomatic bacteriuria (ASB) in pregnancy; if culture is not available, midstream urine Gram-staining is recommended over dipstick.\n\nUrine dipstick tests should only be used to diagnose ASB in pregnancy if midstream culture and Gram-staining are not possible. Dipstick tests are required to check for protein in the urine, a symptom of pre-eclampsia.",
          "documentation" : [
            {
              "type" : "citation",
              "label" : "WHO ANC recommendations (2016): B.1.2. Asymptomatic bacteriuria (ASB) (3)"
            }
          ],
          "condition" : [
            {
              "kind" : "applicability",
              "expression" : {
                "description" : "((\"ANC contact number\" = 1)\n OR (\"Gestational age\" ≥ 26 weeks))\n OR (\"Gestational age\" ≥ 34 weeks)",
                "language" : "text/cql-identifier",
                "expression" : "Should Conduct urine test 2"
              }
            }
          ]
        }
      ]
    }
  ]
}

XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.